home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 40
/
Amiga Format CD40 (1999-05-11)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-06].iso
/
-seriously_amiga-
/
misc
/
notes
/
english
/
notes.pprx
< prev
next >
Wrap
Text File
|
1999-03-29
|
19KB
|
715 lines
/*
@B Notes V. 1.5 @P@ICopyright A.Faust 1999
This Genie prints notes
*/
/* History
Version 1.0 (January 1999)
- first release
Version 1.1. (2.2.99)
-some errors removed in the #?.files
-notationsrule for the "notefiles" altered
(in the case of - "n" - natural sign
like the other in one line)
Version 1.2 (10.2.99)
-removed a error if givein is a b-accidental (example:"AB3")
-simplified the routine for accidentals
-added the possibility of writing single notelines with one
notekey
-multiple questions at the beginning collected in one requester
-expanded the range of the violinkey
Version 1.3 (26.2.99)
-small bug in "basskey.rexx" (all second notelines where overjumped
if 1-lined notesystem was choosed)
-repetition of the choosen notesystem an smallest noteworth now in
one requester
-removed unnecessary magnifications jump
-the position of the first note in the line now will be set dynamical
dependent on the number of accidentials
Version 1.4 (1.3.99)
-small bug removed
Version 1.5 (8.3.99)
-added possibility to merge two eight or sixteenth notes
*/
address command
'execute C:AssignNotenDruck'
/*
The file "AssignNotePrint" in the C: directory shall be written
with a normal texteditor, like ed or AE(Articel Editor from ProPage).
There will be assigned where the Genie looks for the Notefiles.
Also will be assigned the directory, where are the genies from ProPage
are placed.
example:
assign Notes: Work:MyNoteFileDirectory
assign Genies: DTP:ProPage/ARexx
|_______________________|
please insert your paths here
*/
call SafeEndEdit.rexx()
call ppm_AutoUpdate(0)
call ppm_SetWireframe(0)
notex=0
notey=0
call ppm_SetLineWeight(0.25)
call ppm_SetMagMode(250)
call ppm_SetBoxOutlines(0)
signal on halt
signal on break_c
signal on break_e
signal on break_d
start:
do
neu = ppm_GetUserText(2, "New begin? (ALL WILL BE DELETED !!!!) Nothing=Break y/n")
if neu == "Y" then neu = "y"
if neu == "N" then neu = "n"
select
when neu == "y" then
do
sicher =
call ppm_New()
call ppm_SetUnits(2)
call ppm_SetMagMode(250)
call ppm_SetFont('(CG)Times')
pgnm = ppm_CreatePage(1, 1, 0)
call ppm_SetPageType(pgnm, 4)
call ppm_SetRulerType(4)
call ppm_SetBoxLock(0, 0)
call ppm_DeleteBox(0)
/* Headline */
haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
call ppm_SetSize(20)
call ppm_SetStyle(U)
call ppm_SetJustification(2)
call ppm_TextIntoBox(haedln, 'Title')
end
when neu == "n" then notenlinien()
otherwise exit_msg("User Break!")
end
notenlinien:
cr = '0a'x
form = "notelines ? (y/n):y"cr"2/1 system (2/1v/1b):2"cr"accidentals (1#=1 #):"cr"time (4/4=4 4):4 4"cr"v_iol/b_ass [f_ile]:v"
eingabe = ppm_GetForm("Please give in ... ", 5, form)
parse var eingabe res '0a'x systemart '0a'x vorz '0a'x takt '0a'x violbass
select
when systemart == '2' then NOP
when systemart == '1b' then NOP
when systemart == '1B' then systemart = '1b'
when systemart == '1v' then NOP
when systemart == '1V' then systemart = '1v'
otherwise exit_msg("Error in the input! Break!!!")
end
if res == '' then res = 'y'
if res == 'J' then res = 'y'
if res == 'y' then
do
call ppm_SetUnits(2)
call ppm_SetMagMode(250)
call ppm_SetFont('(CG)Times')
pgnm = ppm_CurrentPage()
call ppm_SetPageType(pgnm, 4)
call ppm_SetRulerType(4)
call ppm_SetBoxLock(0, 0)
call ppm_DeleteBox(0)
/* headline */
haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
call ppm_SetSize(20)
call ppm_SetStyle(U)
call ppm_SetJustification(2)
call ppm_TextIntoBox(haedln, 'Title')
/* Autor */
autor = ppm_CreateBox(13, 0.9, 6.5, 0.64, 0)
call ppm_SetSize(12)
call ppm_SetStyle(U)
call ppm_SetJustification(1)
call ppm_TextIntoBox(autor, "Autor: © Noname")
/* Draw notelines */
do a=1 to 12
do b=1 to 5
call ppm_DrawLine(0, a*2+((b-1)/5), 19.5, a*2+((b-1)/5))
end
end
/* Notekey and bracket at front */
if systemart == '1v' then
do
call ppm_SetFont('(CG)Noten')
violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
call ppm_SetStyle(N)
call ppm_SetJustification(0)
call ppm_SetSize(45)
call ppm_TextIntoBox(violschl, 't')
do c=1 to 11
call ppm_CloneBox(violschl, 0, (c*2))
end
end
if systemart == '1b' then
do
call ppm_SetFont('(CG)Noten')
bassschl = ppm_CreateBox(0.034, 1.88, 1.1, 1.1, 0)
call ppm_SetStyle(N)
call ppm_SetJustification(0)
call ppm_SetSize(30)
call ppm_TextIntoBox(bassschl, 'b')
do c=1 to 11
call ppm_CloneBox(bassschl, 0, (c*2))
end
end
if systemart == '2' then
do
call ppm_SetFont('(CG)Noten')
violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
call ppm_SetStyle(N)
call ppm_SetJustification(0)
call ppm_SetSize(45)
call ppm_TextIntoBox(violschl, 't')
bassschl = ppm_CreateBox(0.034, 3.88, 1.1, 1.1, 0)
call ppm_SetSize(30)
call ppm_TextIntoBox(bassschl, 'b')
call ppm_SetLineWeight(4)
vl = ppm_DrawLine(0, 1.98, 0, 4.82)
call ppm_SetLineWeight(2)
vo = ppm_DrawLine(-0.07, 2.08, 0.303, 1.7627)
vu = ppm_DrawLine(-0.07, 4.74, 0.303, 5.052)
do c=1 to 5
call ppm_CloneBox(violschl, 0, (c*4))
call ppm_CloneBox(bassschl, 0, (c*4))
call ppm_CloneBox(vl, 0, (c*4))
call ppm_CloneBox(vo, 0, (c*4))
call ppm_CloneBox(vu, 0, (c*4))
end
end
vorzeichen()
end
else
do
if res == 'N' then res = 'n'
if res == 'n' then vorzeichen()
else start()
end
end
noteneingabe:
if violbass == '' then exit_msg("Error in the input! BREAK!!!")
resa = word(violbass,1)
resb = word(violbass,2)
if resa=='V' then resa = 'v'
if resa=='B' then resa = 'b'
if resb=='F' then resb = 'f'
select
when resa=='v' then violschl()
when resa=='b' then basschl()
otherwise noteneingabe()
end
violschl:
do
call ppm_SetFont('(CG)Noten')
select
when resb='' then
do
address command
rx 'Genies:Violinkey.rexx'
end
when resb='f' then
do
address command
rx 'Genies:Violinkey.file'
end
otherwise noteneingabe()
end
exit
end
basschl:
do
call ppm_SetFont('(CG)Noten')
select
when resb='' then
do
address command
rx 'Genies:Basskey.rexx'
end
when resb='f' then
do
address command
rx 'Genies:Basskey.file'
end
otherwise noteneingabe()
end
exit
end
exit
vorzeichen:
if vorz == "" then
do
k = 0
takt()
end
else
do
call ppm_SetFont('(CG)Noten')
call ppm_SetSize(20)
zahl = word(vorz, 1)
if zahl >6 then vorzeichen()
art = word(vorz, 2)
if art == 'B' then art = 'b'
yy = 0.28
j = 0
k = zahl
select
when art == 'b' then
do
art = 'f'
if systemart == '2' then
do
do i=1 to 6
if zahl== 1 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.2, (3.85+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.2, (3.85+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.4, (4.25+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.2, (3.85+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.4, (4.25+j)
call vorzeichenbox 1.6, (1.75+j)
call vorzeichenbox 1.6, (3.95+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.2, (3.85+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.4, (4.25+j)
call vorzeichenbox 1.6, (1.75+j)
call vorzeichenbox 1.6, (3.95+j)
call vorzeichenbox 1.8, (2.15+j)
call vorzeichenbox 1.8, (4.35+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1, (4.15+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.2, (3.85+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.4, (4.25+j)
call vorzeichenbox 1.6, (1.75+j)
call vorzeichenbox 1.6, (3.95+j)
call vorzeichenbox 1.8, (2.15+j)
call vorzeichenbox 1.8, (4.35+j)
call vorzeichenbox 2.0, (1.85+j)
call vorzeichenbox 2.0, (4.05+j)
end
j=j+4
end
end
if systemart == '1b' then
do
do i=1 to 12
if zahl== 1 then
do
call vorzeichenbox 1, (2.15+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (2.15+j)
call vorzeichenbox 1.2, (1.85+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (2.15+j)
call vorzeichenbox 1.2, (1.85+j)
call vorzeichenbox 1.4, (2.25+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (2.15+j)
call vorzeichenbox 1.2, (1.85+j)
call vorzeichenbox 1.4, (2.25+j)
call vorzeichenbox 1.6, (1.95+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (2.15+j)
call vorzeichenbox 1.2, (1.85+j)
call vorzeichenbox 1.4, (2.25+j)
call vorzeichenbox 1.6, (1.95+j)
call vorzeichenbox 1.8, (2.35+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (2.15+j)
call vorzeichenbox 1.2, (1.85+j)
call vorzeichenbox 1.4, (2.25+j)
call vorzeichenbox 1.6, (1.95+j)
call vorzeichenbox 1.8, (2.35+j)
call vorzeichenbox 2.0, (2.05+j)
end
j=j+2
end
end
if systemart == '1v' then
do
do i=1 to 12
if zahl== 1 then
do
call vorzeichenbox 1, (1.95+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1.2, (1.65+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.4, (2.05+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.6, (1.75+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.6, (1.75+j)
call vorzeichenbox 1.8, (2.15+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (1.95+j)
call vorzeichenbox 1.2, (1.65+j)
call vorzeichenbox 1.4, (2.05+j)
call vorzeichenbox 1.6, (1.75+j)
call vorzeichenbox 1.8, (2.15+j)
call vorzeichenbox 2.0, (1.85+j)
end
j=j+2
end
end
end
when art == '#' then
do
art = 's'
if systemart == '2' then
do
do i=1 to 6
if zahl == 1 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.2, (4.17+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.2, (4.17+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.4, (3.77+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.2, (4.17+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.4, (3.77+j)
call vorzeichenbox 1.6, (1.87+j)
call vorzeichenbox 1.6, (4.07+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.2, (4.17+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.4, (3.77+j)
call vorzeichenbox 1.6, (1.87+j)
call vorzeichenbox 1.6, (4.07+j)
call vorzeichenbox 1.8, (2.17+j)
call vorzeichenbox 1.8, (4.37+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1, (3.87+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.2, (4.17+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.4, (3.77+j)
call vorzeichenbox 1.6, (1.87+j)
call vorzeichenbox 1.6, (4.07+j)
call vorzeichenbox 1.8, (2.17+j)
call vorzeichenbox 1.8, (4.37+j)
call vorzeichenbox 2.0, (1.77+j)
call vorzeichenbox 2.0, (3.97+j)
end
j=j+4
end
end
if systemart == '1b' then
do
do i=1 to 12
if zahl == 1 then
do
call vorzeichenbox 1, (1.87+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (1.87+j)
call vorzeichenbox 1.2, (2.17+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (1.87+j)
call vorzeichenbox 1.2, (2.17+j)
call vorzeichenbox 1.4, (1.77+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (1.87+j)
call vorzeichenbox 1.2, (2.17+j)
call vorzeichenbox 1.4, (1.77+j)
call vorzeichenbox 1.6, (2.07+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (1.87+j)
call vorzeichenbox 1.2, (2.17+j)
call vorzeichenbox 1.4, (1.77+j)
call vorzeichenbox 1.6, (2.07+j)
call vorzeichenbox 1.8, (2.37+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (1.87+j)
call vorzeichenbox 1.2, (2.17+j)
call vorzeichenbox 1.4, (1.77+j)
call vorzeichenbox 1.6, (2.07+j)
call vorzeichenbox 1.8, (1.37+j)
call vorzeichenbox 2.0, (2.97+j)
end
j=j+2
end
end
if systemart == '1v' then
do
do i=1 to 12
if zahl == 1 then
do
call vorzeichenbox 1, (1.67+j)
end
if zahl == 2 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1.2, (1.97+j)
end
if zahl == 3 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.4, (1.57+j)
end
if zahl == 4 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.6, (1.87+j)
end
if zahl == 5 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.6, (1.87+j)
call vorzeichenbox 1.8, (2.17+j)
end
if zahl == 6 then
do
call vorzeichenbox 1, (1.67+j)
call vorzeichenbox 1.2, (1.97+j)
call vorzeichenbox 1.4, (1.57+j)
call vorzeichenbox 1.6, (1.87+j)
call vorzeichenbox 1.8, (2.17+j)
call vorzeichenbox 2.0, (1.77+j)
end
j=j+2
end
end
end
otherwise exit_msg("Error in the input! BREAK!!!")
end
takt()
end
takt:
do
call ppm_SetFont('(CG)Times')
call ppm_SetSize(16)
if takt ~= '' then
do
oben = WORD(takt, 1)
unten = WORD(takt, 2)
if unten == '' then exit_msg("Error in the input! BREAK!!!")
id = ppm_CreateBox(1.15+(k*0.2), 2, 0.3, 0.6, 0)
call ppm_TextIntoBox(id, oben)
id = ppm_CreateBox(1.15+(k*0.2), 2.4, 0.3, 0.6, 0)
call ppm_TextIntoBox(id, unten)
if systemart == '2' then
do
id = ppm_CreateBox(1.15+(k*0.2), 4, 0.3, 0.6, 0)
call ppm_TextIntoBox(id, oben)
id = ppm_CreateBox(1.15+(k*0.2), 4.4, 0.3, 0.6, 0)
call ppm_TextIntoBox(id, unten)
end
end
else NOP
call ppm_SetFont('(CG)Noten')
call ppm_SetSize(20)
call ppm_UpdateScreen()
noteneingabe()
end
vorzeichenbox:
do
parse arg bx,by
id = ppm_CreateBox(bx, by, 0.35, 0.75, 0)
call ppm_TextIntoBox(id, art)
return
end
break_d:
break_e:
break_c:
halt:
call exit_msg("User aborted Genie!")
exit_msg: procedure
do
parse arg message
if message ~= '' then
call ppm_Inform(1,message,)
call ppm_ClearStatus()
call ppm_AutoUpdate(1)
exit
end